#ifndef INVERSIONARGUMENT_H
#define INVERSIONARGUMENT_H

#include <QObject>
enum aerosoType{
    def = 0,
    ocean,
    village,
    city,
};

class InversionArgument: public QObject
{
    Q_OBJECT
public:
    //InversionArgument();
    void deepinSightCall();


    //用户设置 or 太阳辐射计查询
    float m_lat;
    float m_lon;
    float m_alt; //海拔
    float m_obsAlt; //设备放置高度
    //用户设置
    aerosoType m_aerosolType; //气溶胶类型
    //开始计算时间，当前时间？
    long long m_beginTime; //
    //太阳辐射计 协议不知道哪个协议
    int m_solorRadioMeterDX;
    int m_solorRadioMeterDY;
    QVector<long> m_solorRadioMeterTimes;
    QVector<float*> m_solorRadioMeterDatas;
    //激光雷达 高度和消光系数
    int m_lidarDX;
    int m_lidarDY;
    QVector<float*> m_lidarDatas;
    //能见度仪，平均值
    float m_visibility;
    //地面气象站，平均值
    float m_pressure;
    float m_temperature;
    float m_humidity;
    float m_windSpeed;
    float m_windDirection;
    //太阳辐射计
    int m_trackDX;
    QVector<long> m_trackTimes;
    QVector<float> m_trackAzims;
    QVector<float> m_trackEleveations;
    //不知道
    QVector<float> m_trackRanges;
    //预设的目录
    char* m_backgroundDataDir;
    char* m_tempDir;
    float** m_deepinsght;

    //flag当flag全为true 可以进行数据反演
    bool m_visibilityFlag;
    bool m_groundWeatherStationFlag;
    bool m_solorRadioMeterFlag;
    bool m_lidarFlag;
};

#endif // INVERSIONARGUMENT_H
